选择遵循规则和约定的变量名称
一位软件开发人员曾经说过一句名言:" 软件开发最难的部分就是命名。" 变量的名称不仅必须遵循某些语法规则,还应使代码更易于用户阅读和理解。编写一行代码的要求非常多!
变量名称规则
C# 编译器强制执行一些变量名称规则。
- 变量名可包含字母数字字符和下划线字符。不允许使用特殊字符(如英镑
#、短划线-、或美元符号$)。 - 变量名称必须以字母或下划线开头,不能以数字开头。开发者将下划线用于特殊目的,因此现在请勿使用。
- 变量名不能是 C# 关键字。例如,不允许使用以下变量名称声明:
float float;或string string;。 - 变量名区分大小写,这意味着
string MyValue;和string myValue;是两个不同的变量。
变量名称约定
约定是软件开发社区一致同意的建议。虽然你可以自由决定不遵循这些约定,但是它们非常受欢迎,如果不遵循可能会使其他开发人员难以理解你的代码。你应该练习采用这些约定,并将其作为自己的一部分技能。
- 变量名应使用骆驼式命名法,这是一种编写样式,即第一个单词以小写字母开始,后续每个单词的首字母采用大写形式。例如:
string thisIsCamelCase;。 - 变量名称在应用程序中应具有描述性且有意义。应为变量选择一个名称,用于表示其将保存的数据类型。
- 变量名称应是附加在一起的一个或多个完整单词。请勿使用缩写,因为阅读你代码的人可能不清楚该变量的名称。
- 变量名称不应包含变量的数据类型。你可能会看到使用类似
string strMyValue;样式的一些建议。这是几年前的热门样式。但是,大多数开发者不会再遵循此建议。
示例 string firstName; 遵循所有这些规则和约定,假设我希望使用此变量来存储表示用户名字的数据。
变量名称示例
下面的变量声明示例使用了一些我们先前了解的数据类型。
char userOption;
int gameScore;
float particlesPerMillion;
bool processedCustomer;
其他命名约定
我们所讨论的规则和约定适用于局部变量。局部变量是作用域在方法主体内的变量。即使是在 .NET 编辑器中工作,实际上也是在方法内部编写代码。只是向你隐藏了使用这种基于 Web 的特殊代码编辑环境。
类中还使用了其他类型的变量。其他模块将介绍如何创建自定义类,不过你已经在这些模块中使用过这些类(如 Console 类和 Random 类)。类支持字段,字段是类的成员,作用类似于变量,因为它们存储值,或者更确切地说是存储状态。类也支持可见性修饰符,这些修饰符允许一些值是私有或公共的。私有成员只能由同一类中的其他成员引用。公共成员可以在类外部引用。因此,你可以创建私有字段或公共字段。
私有字段和公共字段有其自己的命名约定。此外,类和方法也有其自己的命名约定。随着我们对这些结构了解得越来越多,我们将会介绍这些内容,但请务必知道,你刚刚学习的命名约定适合更大型的命名框架。最终目标是仅仅通过查看任何标识符(局部变量、私有字段、类、方法等)的名称,就应该能够立即了解代码的功能。